/*
新建一个文件（例如 new_file），新建文件的权限设置为:
文件所属者拥有读、写、执行权限;
同组用户与其他用户只有读权限;
使用只写方式打开文件，将文件前 1Kbyte 字节数据填充为 0x00，
将下 1Kbyte 字节数据填充为 0xFF，
操作完成之后显式关闭文件，退出程序
*/

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>

int main()
{
    char buffer[1024] = {0};
    int fd1;
    int ret;

  fd1 = open("./new_file",O_WRONLY|O_CREAT|O_EXCL|S_IRWXU|S_IRGRP);
  if (-1 == fd1) 
  {
    printf("new_file already exists！\n");
    ret = -1;
  }
  if (-1 != fd1)
  {
    printf("new_file not exists!\n");
    printf("new_file creat successfully！\n");
    ret = -1;
  }

  ret = lseek(fd1, 500, SEEK_SET);
  if (-1 == ret)
  {
      printf("lseek failed!\n");
      goto err1;
  }
  

  ret = write(fd1,buffer,sizeof(buffer));
  if (-1 == ret)
  {
      printf("write failed!\n");
      goto err1;
  }
  if (-1 != ret)
  {
      printf("write successful!\n");
  }


  err1:
    close(fd1);

  printf("over\n");
  ret = 0;
  return 0;
    
    
}